package com.engineering.elink.controller.views;

import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.engineering.elink.co.DictCo;
import com.zxy.core.Constants;

/**
 * 
 * ClassName: DictController <br/> 
 * Function: ADD FUNCTION. <br/> 
 * Reason: ADD REASON(可选). <br/> 
 * date: 2016年11月29日 下午11:06:26 <br/> 
 * 
 * @author zengxinyan 
 * @version  
 * @since JDK 1.8
 */
@CrossOrigin
@Controller
@RequestMapping("/dict")
public class DictController {

	/**
	 * 
	 * 
	 * addDict:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param model
	 * @param dictCo
	 * @return 
	 * @since JDK 1.8
	 */
	@RequestMapping("/addDict")
	public String addDict(Model model,@ModelAttribute("DictCo") @Valid DictCo dictCo) {
		//dictService.addOrEditDict(dictCo);
		
		model.addAttribute("byName", dictCo.getByName());
		return "redirect:/dict/getDictList";
	}
	
	/**
	 * 
	 * 
	 * downloadFile:(这里用一句话描述这个方法的作用). <br/> 
	 * (这里描述这个方法适用条件 – 可选).<br/> 
	 * (这里描述这个方法的执行流程 – 可选).<br/> 
	 * (这里描述这个方法的使用方法 – 可选).<br/> 
	 * (这里描述这个方法的注意事项 – 可选).<br/> 
	 * 
	 * @author zengxinyan 
	 * @param response
	 * @param request
	 * @return 
	 * @since JDK 1.8
	 */
	@RequestMapping(value = "/downloadFile", method = RequestMethod.GET)
	public String downloadFile(HttpServletResponse response,HttpServletRequest request){
	
		try{
			
			response.setContentType("application/msword;charset=utf-8");

			response.addHeader("Content-disposition", "attachment;filename=\""+new String(("文件").getBytes(),"iso8859-1")+".docx" + "\"");
		
			OutputStream o = response.getOutputStream();
			byte b[] = new byte[1024];
			
			File file=new File(Constants.APPLICATION_PATH+"resources/images/111.docx");

			FileInputStream fis = new FileInputStream(file);
			int n = 0;
			while ((n = fis.read(b)) != -1) {
				o.write(b, 0, n);
			}
			fis.close();
			o.flush();
			o.close();

		}catch(Exception e){
			e.printStackTrace();
		}
		
		return  null;
	}
	
}